

#ifndef MEMFILL_TABLE_H__
#define MEMFILL_TABLE_H__

/*############## Lookup Table for Calling appropriate function ##############*/

struct memfill_call_entry{
	gchar *mnemonic;   /*mnemonic name*/
	gint n_bytes;      /*number of byte in memory for opcode*/
	gint (*func)( );   /*function to call*/
};

struct memfill_call_entry memfill_call_table[]={
												{"ACI",2,aci},
												{"ADC",1,adc},
												{"ADD",1,add},
												{"ADI",2,adi},
												{"ANA",1,ana},
												{"ANI",2,ani},
												{"CALL",3,call},
												{"CC",3,cc},
												{"CNC",3,cnc},
												{"CP",3,cp},
												{"CM",3,cm},
												{"CPE",3,cpe},
												{"CPO",3,cpo},
												{"CZ",3,cz},
												{"CNZ",3,cnz},
												{"CMA",1,cma},
												{"CMC",1,cmc},
												{"CMP",1,cmp},
												{"CPI",2,cpi},
												{"DAA",1,daa},
												{"DAD",1,dad},
												{"DCR",1,dcr},
												{"DCX",1,dcx},
												{"DI",1,di},
												{"EI",1,ei},
												{"HLT",1,hlt},
												{"IN",2,in},
												{"INR",1,inr},
												{"INX",1,inx},
												{"JMP",3,jmp},
												{"JC",3,jc},
												{"JNC",3,jnc},
												{"JP",3,jp},
												{"JM",3,jm},
												{"JPE",3,jpe},
												{"JPO",3,jpo},
												{"JZ",3,jz},
												{"JNZ",3,jnz},
												{"LDA",3,lda},
												{"LDAX",1,ldax},
												{"LHLD",3,lhld},
												{"LXI",3,lxi},
												{"MOV",1,mov},
												{"MVI",2,mvi},
												{"NOP",1,nop},
												{"ORA",1,ora},
												{"ORI",2,ori},
												{"OUT",2,out},
												{"PCHL",1,pchl},
												{"POP",1,pop},
												{"PUSH",1,push},
												{"RAL",1,ral},
												{"RAR",1,rar},
												{"RLC",1,rlc},
												{"RRC",1,rrc},
												{"RET",1,ret},
												{"RC",1,rc},
												{"RNC",1,rnc},
												{"RP",1,rp},
												{"RM",1,rm},
												{"RPE",1,rpe},
												{"RPO",1,rpo},
												{"RZ",1,rz},
												{"RNZ",1,rnz},
												{"RIM",1,rim},
												{"RST",1,rst},
												{"SBB",1,sbb},
												{"SBI",2,sbi},
												{"SHLD",3,shld},
												{"SIM",1,sim},
												{"SPHL",1,sphl},
												{"STA",3,sta},
												{"STAX",1,stax},
												{"STC",1,stc},
												{"SUB",1,sub},
												{"SUI",2,sui},
												{"XCHG",1,xchg},
												{"XRA",1,xra},
												{"XRI",2,xri},
												{"XTHL",1,xthl}
											};

#endif /*MEMFILL_TABLE_H__*/
